package com.example.micro_property_springboot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.micro_property_springboot.entity.SysNotificationSetting;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统通知设置Mapper
 * 提供通知设置的数据库操作方法
 */
@Mapper
public interface SysNotificationSettingMapper extends BaseMapper<SysNotificationSetting> {
    
    /**
     * 根据用户ID获取通知设置列表
     */
    List<SysNotificationSetting> getByUserId(@Param("userId") Long userId);
    
    /**
     * 根据用户ID和事件类型获取启用的通知设置
     */
    List<SysNotificationSetting> getEnabledByUserIdAndEvent(@Param("userId") Long userId, @Param("eventType") String eventType);
    
    /**
     * 根据用户ID、通知类型和事件类型获取设置
     */
    SysNotificationSetting getByUserIdAndType(@Param("userId") Long userId, 
                                             @Param("notifyType") String notifyType, 
                                             @Param("eventType") String eventType);
}